perm filename EDIT1.BNF[BNF,JRA] blob
sn#005915 filedate 1972-10-23 generic text, type T, neo UTF8
00100 <ST> ::= <F1>; => *
00200 <F1> ::= [<FLIST>] => (COND.FLIST)
00250 ::= T => T
00300 ::= <F2> => *
00400 <FLIST> ::= <F1> '→ <F1A> ; <FLIST> =>((F1 F1A) . FLIST)
00500 ::= <F1> '→ <F1A> =>((F1 F1A))
00600 <F1A> ::= <F1> =>*
00700
00800 <F2> ::= <F3> =>*
00900 ::= <F2> ∨ <F3> => (OR F2 F3)
01000
01100 <F3> ::= <F4> =>*
01200 ::= <F3> ∧ <F4> => (AND F3 F4)
01300
01400 <F4> ::= (<F1>) => *
01500 ::= ¬<F4> => (NOT F4)
01600 ::= <FAL><F1> =>(PROG (L)(SETQ L(DOMC))
01650 A(SETQ FAL(CAR L))
01700 (COND((NOT F1)(RETURN NIL)))
01800 (SETQ L(CDR L))
01900 (COND(L(GO A)))
02000 (RETURN T))
02100
02200 ::= <TEL><F1> =>(PROG(L)(SETQ L(DOMC))
02250 A(SETQ TEL(CAR L))
02300 (COND(F1(RETURN T)))
02400 (SETQ L(CDR L))
02500 (COND(L(GO A)))
02600 (RETURN NIL))
02602 ::=<FAT><F1> => (PROG (%T)(SETQ %T(DOML))
02604 A(SETQ FAT(CAR %T))
02606 (COND((NOT F1)(RETURN NIL)))
02608 (SETQ %T(CDR %T))
02610 (COND (%T(GO A)))
02612 (RETURN T))
02614
02616 ::= <TET><F1> =>(PROG (%T)(SETQ %T(DOML))
02618 A(SETQ TET(CAR %T))
02620 (COND (F1(RETURN T)))
02622 (SETQ %T(CDR %T))
02624 (COND(%T(GO A)))
02626 (RETURN NIL))
02628
02700 ::= <PREDIC> => PREDIC
02710
02800 <FAL> ::= ∀<VARL> => VARL
02850
02900 <TEL> ::= ∃<VARL> => VARL
03000
03050 <FAT> ::= ∀<VART> => VART
03060 <TET> ::= ∃<VART> => VART
03100 <VARL> ::= L1 => L1
03200 ::= L2 =>L2 ::= L3 => L3 ::= L4 => L4
03300 <VART>::= T1 => T1 ::= T2 => T2 ::= T3 => T3 ::= T4 => T4
03400 <VARC> ::= C => C ::= C1 => C1 ::= C2 => C2
03425
03450 <PREDIC> ::= @<LISPR> => LISPR
03500 ::= <TERM0><OPR><TERM> => (OPR TERM0 TERM)
03600
03710 <TERM0> ::= <TERM> =>*
03720 <LISPR> ::= <ATOM> =>ATOM
03730 ::= (<LISPL>) =>LISPL
03740
03750 <LISPL> ::= <LISPR> <LISPL> => (LISPR . LISPL)
03760 ::= =>NIL
03770
03800 <OPR> ::= = => EQ
03900 ::= ≠ => NEQ
04000 ::= < => LESSP
04100 ::= > => GREATERP
04200 ::= ε => MATCHER
04300
04400 <TERM> ::= ∂(<VARL>) =>(DEPTH(LIST VARL))
04500 ::= ∂(<VART>) =>(DEPTH1(LIST VART))
04600 ::=∂(<VARC>) =>(DEPTH(CDR VARC))
04650 ::=β(<VARC>) => (TREEDEP VARC)
04700 ::= <VARL> => VARL ::= <VART> => VART ::= <VARC> => VARC
04900 ::= TR(<VARC>) =>(TREE VARC)
05000
05100 ::= α(<VARC>) =>(LENGTH(CDR VARC))
05200 ::= α(<VART>) =>(NOSYM VART)
05300 ::= α(<VARL>) =>(NOSYM VARL)
05400 ::= + => %PL ::= - => %NG
05700 ::= ⊂<MATCHLIST>⊃ =>(AND . MATCHLIST)
05800 ::= ⊃<MATCHLIST>⊂ => (OR . MATCHLIST)
05850 ::= <NUMBER> =>NUMBER
05900 ::= <MATCH> => MATCH
06000
06100 <MATCHLIST> ::= <MATCH> , <MATCHLIST> => (MATCH . MATCHLIST)
06150
06200 ::= <MATCH> =>(MATCH)
06250 <MATCH> ::= <NOT1><PRED> => (%NG . PRED)
06300 ::= <NOT1><PREDLET> =>(%NG PREDLET)
06325 ::= <ID>[<VARLIST>] => (CL(ID . VARLIST))
06400 ::= <PRED> =>PRED
06500 ::= <PREDLET> => (PREDLET)
06525 ::= <TM> => TM
06550 ::= <FNLET> => ( FNLET)
06650 ::=<ID> => (CL ID)
07400 ::=<NUMBER> => (CL NUMBER)
07500 END